package tablero;

import java.util.*;



public class Ciudad {
	
	private NombreCiudad nombre;
	private List<Ciudad>adyacentes;
	
	public Ciudad (NombreCiudad nombre)
	{
		this.nombre = nombre;
		this.adyacentes = new LinkedList<Ciudad>();
	}
	
	public Ciudad (NombreCiudad nombre,List<Ciudad> adyacentes)
	{
		this.nombre = nombre;
		this.adyacentes = adyacentes;
	}
	
	public boolean esAdyacente(Ciudad c)
	{
		Iterator <Ciudad> it = getAdyacentes().iterator();
		boolean enc = false;
		while (it.hasNext() && !enc)
		{
			Ciudad ady = it.next();
			if (ady.getNombreCiudad().equals(c.getNombreCiudad()))
			{
				enc = true;
			}
		}
		return enc;
	}

	public void setNombreCiudad(NombreCiudad nombre) {
		this.nombre = nombre;
	}

	public NombreCiudad getNombreCiudad() {
		return nombre;
	}

	public void setAdyacentes(List<Ciudad> adyacentes) {
		this.adyacentes = adyacentes;
	}

	public List<Ciudad> getAdyacentes() {
		List<Ciudad> listaCiudades = new ArrayList<Ciudad>();
		for(Ciudad c:adyacentes) {
			listaCiudades.add(Tablero.getInstance().getCiudadConcreta(c.getNombreCiudad()));
		}
		
		return adyacentes;
	}

}
